const aliasName = {
  即将交车: 'giveSoon',
  今日交车: 'giveToday',
  今日还车: 'returnToday',
  '24小时内新增订单': 'addOrder24',
  明日交车: 'giveTomorrow',
  明日还车: 'returnTomorrow',
  未结算: 'waitConfirm',
  逾期未交: 'giveOverdue',
  逾期未还: 'returnOverdue',
  车辆冲突: 'carRepeat',
  续租: 'reletCount',
  换车: 'replaceCar',
  异店还车: 'diffSite',
  // 违章押金即将到期: 'illegalDeposit',
  // 借调车: '',
  // 小程序: '小程序',
  飞猪: 'channelN1',
  携程: 'channel1',
  悟空: 'channel2',
  哈啰: 'channel3',
  滴滴: 'channelN2',
  铁行: 'channelN3',
  飞租: 'channelN4',
  '合同未发起(付费版)': 'unSigningNum',
  '合同签署中(付费版)': 'signingNum',
  '合同签署中(普通版)': 'ordinaryNum',
  已签租车合同: 'signingRentNum',
  已签续租合同: 'signingReletNum',
  未签租车合同: 'unSigningRentNum',
  未签续租合同: 'unSigningReletNum',
  临时占用冲突: 'carTempRepeat',
  已好评: 'positiveReviewsNum',
  订单已修改: 'updateOrderNum',
  待审核: 'pendingReviewNum',
  已审核: 'reviewedNum',
  虚拟车钥匙: 'carControlNum',
  芝麻免押: 'sesameFreeOfCharge',
  押金未缴纳: 'depositUnpay',
  租车押金应退未退: 'depositCarUnrefund',
  违章押金应退未退: 'depositViolationUnrefund',
}
const getList = (list) => {
  return list.map((item) => {
    return {
      name: item,
      numProp: aliasName[item],
      num: 0,
    }
  })
}
const tabsConfigList = [
  {
    label: '全部',
    value: undefined,
    num: 0,
    numProp: 'total',
    qucikLabels: getList([
      '即将交车',
      '今日交车',
      '今日还车',
      '24小时内新增订单',
      '明日交车',
      '明日还车',
      '未结算',
      '逾期未交',
      '逾期未还',
      '车辆冲突',
      '续租',
      '换车',
      '异店还车',
      '芝麻免押',
      '押金未缴纳',
      '租车押金应退未退',
      '违章押金应退未退',
      // '违章押金即将到期',
      '合同未发起(付费版)',
      '合同签署中(付费版)',
      '合同签署中(普通版)',
      '已签租车合同',
      '已签续租合同',
      '未签租车合同',
      '未签续租合同',
      '临时占用冲突',
      '已好评',
      '订单已修改',
      '虚拟车钥匙',
    ]),
    defaultSort: 'orderStatus',
    sort: [
      // 订单状态排序
      'orderStatus',
      // 下单时间倒序排序
      'orderCreateTime',
      // 预计取车时间正序排序；
      'startTime',
      // 预计还车时间正序排序
      'endTime',
      // 实际取车时间倒序排序
      'actualStartTime',
      // 实际还车时间倒序排序
      'actualEndTime',
    ],
  },
  {
    label: '待排车',
    value: '10',
    num: 0,
    numProp: 'waitPlatoonNumber',
    qucikLabels: getList([
      '即将交车',
      '今日交车',
      '今日还车',
      '24小时内新增订单',
      '明日交车',
      '明日还车',
      '逾期未交',
      '异店还车',
      '芝麻免押',
      '押金未缴纳',
      '租车押金应退未退',
      '违章押金应退未退',
      '合同未发起(付费版)',
      '合同签署中(付费版)',
      '合同签署中(普通版)',
      '已签租车合同',
      '已签续租合同',
      '未签租车合同',
      '未签续租合同',
      '订单已修改',
      '虚拟车钥匙',
    ]),
    defaultSort: 'startTime',
    sort: [
      // 下单时间倒序排序
      'orderCreateTime',
      // 预计取车时间正序排序；
      'startTime',
      // 预计还车时间正序排序
      'endTime',
    ],
  },
  {
    label: '待用车',
    value: '100',
    num: 0,
    numProp: 'waitGiveNumber',
    qucikLabels: getList([
      '即将交车',
      '今日交车',
      '今日还车',
      '24小时内新增订单',
      '明日交车',
      '明日还车',
      '逾期未交',
      '车辆冲突',
      '异店还车',
      '芝麻免押',
      '押金未缴纳',
      '租车押金应退未退',
      '违章押金应退未退',
      '合同未发起(付费版)',
      '合同签署中(付费版)',
      '合同签署中(普通版)',
      '已签租车合同',
      '已签续租合同',
      '未签租车合同',
      '未签续租合同',
      '临时占用冲突',
      '订单已修改',
      '虚拟车钥匙',
    ]),
    defaultSort: 'startTime',
    sort: [
      // 下单时间倒序排序
      'orderCreateTime',
      // 预计取车时间正序排序；
      'startTime',
      // 预计还车时间正序排序
      'endTime',
    ],
  },
  {
    label: '用车中',
    value: '200',
    num: 0,
    numProp: 'useingNumber',
    qucikLabels: getList([
      '今日交车',
      '今日还车',
      '24小时内新增订单',
      '未结算',
      '逾期未还',
      '车辆冲突',
      '续租',
      '换车',
      '异店还车',
      '芝麻免押',
      '押金未缴纳',
      '租车押金应退未退',
      '违章押金应退未退',
      '合同未发起(付费版)',
      '合同签署中(付费版)',
      '合同签署中(普通版)',
      '已签租车合同',
      '已签续租合同',
      '未签租车合同',
      '未签续租合同',
      '临时占用冲突',
      '订单已修改',
      '虚拟车钥匙',
    ]),
    defaultSort: 'endTime',
    sort: [
      // 下单时间倒序排序
      'orderCreateTime',
      // 预计取车时间正序排序；
      'startTime',
      // 预计还车时间正序排序
      'endTime',
      // 实际取车时间倒序排序
      'actualStartTime',
    ],
  },
  {
    label: '已还车',
    value: '300',
    num: 0,
    numProp: 'returnNumber',
    qucikLabels: getList([
      '今日交车',
      '今日还车',
      '24小时内新增订单',
      '未结算',
      '车辆冲突',
      '续租',
      '换车',
      '异店还车',
      '芝麻免押',
      '押金未缴纳',
      '租车押金应退未退',
      '违章押金应退未退',
      // '违章押金即将到期',
      '合同未发起(付费版)',
      '合同签署中(付费版)',
      '合同签署中(普通版)',
      '已签租车合同',
      '已签续租合同',
      '未签租车合同',
      '未签续租合同',
      '已好评',
      '订单已修改',
      '虚拟车钥匙',
    ]),
    defaultSort: 'actualEndTime',
    sort: [
      // 下单时间倒序排序
      'orderCreateTime',
      // 预计取车时间正序排序；
      'startTime',
      // 预计还车时间正序排序
      'endTime',
      // 实际取车时间倒序排序
      'actualStartTime',
      // 实际还车时间倒序排序
      'actualEndTime',
    ],
  },
  {
    label: '已完成',
    value: '1000',
    num: 0,
    numProp: 'finishNumber',
    qucikLabels: getList([
      '今日交车',
      '今日还车',
      '24小时内新增订单',
      '车辆冲突',
      '续租',
      '换车',
      '异店还车',
      '芝麻免押',
      '押金未缴纳',
      '租车押金应退未退',
      '违章押金应退未退',
      // '违章押金即将到期',
      '合同未发起(付费版)',
      '合同签署中(付费版)',
      '合同签署中(普通版)',
      '已签租车合同',
      '已签续租合同',
      '未签租车合同',
      '未签续租合同',
      '已好评',
      '订单已修改',
      '虚拟车钥匙',
    ]),
    defaultSort: 'actualEndTime',
    sort: [
      // 下单时间倒序排序
      'orderCreateTime',
      // 预计取车时间正序排序；
      'startTime',
      // 预计还车时间正序排序
      'endTime',
      // 实际取车时间倒序排序
      'actualStartTime',
      // 实际还车时间倒序排序
      'actualEndTime',
    ],
  },
  {
    label: '已取消',
    value: '-100',
    num: 0,
    numProp: 'cancelNumber',
    qucikLabels: getList([
      '24小时内新增订单',
      '未结算',
      '异店还车',
      '芝麻免押',
      '押金未缴纳',
      '租车押金应退未退',
      '违章押金应退未退',
      '合同未发起(付费版)',
      '合同签署中(付费版)',
      '合同签署中(普通版)',
      '已签租车合同',
      '已签续租合同',
      '未签租车合同',
      '未签续租合同',
      '订单已修改',
      '虚拟车钥匙',
    ]),
    defaultSort: 'orderCreateTime',
    sort: [
      // 下单时间倒序排序
      'orderCreateTime',
      // 预计取车时间正序排序；
      'startTime',
      // 预计还车时间正序排序
      'endTime',
    ],
  },
]
const sortList = [
  {
    label: '订单状态排序',
    s_label: '订单状态排序',
    value: 'orderStatus',
    sort: 'asc',
  },
  {
    label: '下单时间倒序排序',
    s_label: '下单时间倒序',
    value: 'orderCreateTime',
    sort: 'desc',
  },
  {
    label: '预计取车时间正序排序',
    s_label: '预取时间正序',
    value: 'startTime',
    sort: 'asc',
  },
  {
    label: '预计还车时间正序排序',
    s_label: '预还时间正序',
    value: 'endTime',
    sort: 'asc',
  },
  {
    label: '实际取车时间倒序排序',
    s_label: '实取时间倒序',
    value: 'actualStartTime',
    sort: 'desc',
  },
  {
    label: '实际还车时间倒序排序',
    s_label: '实还时间倒序',
    value: 'actualEndTime',
    sort: 'desc',
  },
]

// 处理sortList
tabsConfigList.forEach((it) => {
  it.sort = it.sort.map((key) => {
    return sortList.find((s_it) => s_it.value == key)
  })
  it.defaultSort = it.sort.find((s_it) => s_it.value == it.defaultSort)
})

export default {
  sortList,
  getList,
  tabsConfigList,
}
